package itheima.zuoye.test1;



import java.io.Serializable;

public class Result<T> implements Serializable {

    /**
 * 私有字段，用于存储结果的状态码
 */
private Integer code;
/**
 * 私有字段，用于存储结果的信息
 */
private String msg;
/**
 * 泛型字段，用于存储结果的数据
 */
private T data;

/**
 * 成功结果的工厂方法
 *
 * @param <T> 泛型参数，表示结果中数据的类型
 * @return 返回一个表示成功结果的Result对象，状态码为1
 */
public static <T> Result<T> success() {
    Result<T> result = new Result<T>();
    result.code = 1;
    return result;
}

/**
 * 带有成功结果数据的工厂方法
 *
 * @param <T> 泛型参数，表示结果中数据的类型
 * @param object 成功结果中的数据对象
 * @return 返回一个表示成功结果的Result对象，状态码为1，并包含指定的数据对象
 */
public static <T> Result<T> success(T object) {
    Result<T> result = new Result<T>();
    result.data = object;
    result.code = 1;
    return result;
}

/**
 * 错误结果的工厂方法
 *
 * @param msg 错误信息，描述错误的详细情况
 * @return 返回一个表示错误结果的Result对象，状态码为0，并包含错误信息
 */
public static <T> Result<T> error(String msg) {
    Result result = new Result();
    result.msg = msg;
    result.code = 0;
    return result;
}

}
